\begin{tikzpicture}[>=Stealth]
    \pgfmathsetmacro{\b}{10};
    \pgfmathsetmacro{\h}{2.5};

    \draw (-0.6, \b+\h-0.3) rectangle (0.6, \b+\h+1);
    \node at (0, \b+\h+0.6) {$S_{\alpha + \beta}$};
    \node at (0, \b+\h) {$C_{\alpha + \beta}$};
    \draw [->] (0, \b+\h-0.3) -- (0, \b+1);
    \draw (-0.6, \b-0.3) rectangle (0.6, \b+1);
    \node at (0, \b+0.6) {$S_{\alpha - \beta}$};
    \node at (0, \b) {$C_{\alpha - \beta}$};
    \coordinate (C1) at (0, \b-0.3);

    \draw [->] (0.6, \b+\h+0.3) -- (1.4, \b+\h+0.3);
    \draw (1.4, \b+\h) rectangle (2.6, \b+\h+0.7);
    \node at (2, \b+\h+0.3) {$T_{\alpha + \beta}$};

    \draw [->] (0.6, \b+0.3) -- (1.4, \b+0.3);
    \draw (1.4, \b) rectangle (2.6, \b+0.7);
    \node at (2, \b+0.3) {$T_{\alpha - \beta}$};
    \draw (0.6, \b-0.2) -- (2.8, \b-0.2) -- (2.8, \b+\h+0.9) -- (0.6, \b+\h+0.9);


    \pgfmathsetmacro{\s}{5.6};
    \draw [->] (2.8, \b+\h/2) -- (\s, \b+\h/2);
    \draw (\s, \b-0.2) rectangle (\s+7, \b+4);
    \coordinate (C2) at (\s+3.5, \b-0.3);
    \node at (\s+3.5, \b+3.3) {$\sin\alpha \cos\beta = \dfrac{1}{2}[\sin(\alpha + \beta) + \sin(\alpha - \beta)]$};
    \node at (\s+3.5, \b+2.3) {$\cos\alpha \sin\beta = \dfrac{1}{2}[\sin(\alpha + \beta) - \sin(\alpha - \beta)]$};
    \node at (\s+3.5, \b+1.3) {$\cos\alpha \cos\beta = \dfrac{1}{2}[\cos(\alpha + \beta) + \cos(\alpha - \beta)]$};
    \node at (\s+3.6, \b+0.3) {$\sin\alpha \sin\beta =-\dfrac{1}{2}[\cos(\alpha + \beta) - \cos(\alpha - \beta)]$};

    %------------------------------------

    \pgfmathsetmacro{\b}{6};

    \draw[->] (C1) -- (0, \b+2.5);
    \draw (-0.8, \b-0.5) rectangle (3.2, \b+2.5);
    \coordinate (C3) at (1, \b-0.6);
    \node at (0, \b+2.0) {$S_{2\alpha}$};
    \node at (0, \b+1.5) {$C_{2\alpha}$};
    \draw [dashed] (-0.7, \b-0.3) rectangle (3, \b+1.2);
    \node at (1.2, \b+0.8) {$\cos 2\alpha = 2\cos^2\alpha - 1$};
    \node at (1.2, \b) {$\cos 2\alpha = 1 - 2\sin^2\alpha$};

    \pgfmathsetmacro{\s}{5};
    \draw[->] (3.2, \b+2) -- (\s, \b+2);
    \draw (\s, \b+1.6) rectangle (\s+2, \b+2.3);
    \node at (\s+1, \b+2) {$\text{万能公式}$};

    \pgfmathsetmacro{\b}{3};
    \draw[->] (C2) -- ++(0, -2.5);
    \draw (\s, \b-0.2) rectangle (\s+7, \b+4);
    \coordinate (C2) at (\s+3.5, \b-0.3);
    \node at (\s+3.5, \b+3.3) {$\sin A + \sin B = 2\sin\dfrac{A + B}{2} \cos\dfrac{A - B}{2}$};
    \node at (\s+3.5, \b+2.3) {$\sin A - \sin B = 2\cos\dfrac{A + B}{2} \sin\dfrac{A - B}{2}$};
    \node at (\s+3.5, \b+1.3) {$\cos A + \cos B = 2\cos\dfrac{A + B}{2} \cos\dfrac{A - B}{2}$};
    \node at (\s+3.6, \b+0.3) {$\cos A - \cos B =-2\sin\dfrac{A + B}{2} \sin\dfrac{A - B}{2}$};

    %------------------------------------

    \draw[->](C3) -- (1, 3.4);
    \draw (-0.9, -0.3) rectangle (3.2, 3.4);
    \draw [dashed] (-0.7, 1.2) rectangle (3, 3.2);
    \node at (1, 2.7) {$\sin^2{\dfrac{\alpha}{2}} = \dfrac{1 - \cos\alpha}{2}$};
    \node at (1, 1.7) {$\cos^2{\dfrac{\alpha}{2}} = \dfrac{1 + \cos\alpha}{2}$};
    \node at (0, 0.7) {$S_{\frac{\alpha}{2}}$};
    \node at (0, 0) {$C_{\frac{\alpha}{2}}$};

    \draw[->] (3.2, 0.5) -- (4.6, 0.5);
    \draw (4.6, 0) rectangle (5.5, 1.0);
    \node at (5, 0.5) {$T_{\frac{\alpha}{2}}$};

    \draw[->] (3.2, 2.2) -- (9.0, 2.2) -- (9.0, 1.0);
    \draw (6.3, 0) rectangle (11.8, 1.0);
    \node at (9, 0.5) {$\tan\dfrac{\alpha}{2} = \dfrac{\sin\alpha}{1 + \cos\alpha} = \dfrac{1 - \cos\alpha}{\sin\alpha}$};
\end{tikzpicture}
